package Terminal.TechnicalServices.Mapper;

import Terminal.Entity.Dominio.ENoRegoleCalcolo;
import Terminal.Entity.Dominio.ERegola;
import Terminal.Entity.IceClasses.ENoRegoleCalcoloI;
import Terminal.Entity.IceClasses.ERegolaI;

public class MNoRegoleCalcolo implements Mapper {

	@Override
	public ENoRegoleCalcoloI getIceObj(Object hibObj) {

		ENoRegoleCalcoloI iceNoRegoleCalcolo = null;
		Mapper regolaMapper = new MapperFactory().getMapper(new ERegolaI());
		
		if ( hibObj instanceof ENoRegoleCalcolo)
		{
			iceNoRegoleCalcolo = new ENoRegoleCalcoloI();
			
			for(ERegola hibRegola: ((ENoRegoleCalcolo) hibObj).getRegole() )
				iceNoRegoleCalcolo.regole.add( (EntityCondivise.ERegola) regolaMapper.getIceObj(hibRegola) );
		}
		
		return iceNoRegoleCalcolo;
	}

	@Override
	public ENoRegoleCalcolo getHibObj(Object iceObj) {

		ENoRegoleCalcolo hibNoRegoleCalcolo = null;
		Mapper regolaMapper = new MapperFactory().getMapper(new ERegolaI());		
		
		if ( iceObj instanceof ENoRegoleCalcoloI)
		{
			hibNoRegoleCalcolo = new ENoRegoleCalcolo();
			
			for(EntityCondivise.ERegola iceRegola: ((ENoRegoleCalcoloI) iceObj).regole)
				hibNoRegoleCalcolo.getRegole().add( (ERegola) regolaMapper.getHibObj(iceRegola) );		
		}
		
		return hibNoRegoleCalcolo;
		
	}

}
